library github_language_colors;

import 'dart:collection';
import 'dart:convert';

class LanguageHelper {
  static Map<String, String> languageMap = getResource(githubLanguageColors);

  static Map<String, String> getResource(List list) {
    Map<String, String> map = HashMap();
    List<MapEntry<String, String>> mapEntryList = [];
    for (int i = 0, length = list.length; i < length; i++) {
      Map<String, String> tokens = list[i];
      String name = tokens['name']!;
      String? color = tokens['color'];
      if (color != null) {
        MapEntry<String, String> mapEntry = MapEntry(name, color);
        mapEntryList.add(mapEntry);
      }
    }
    map.addEntries(mapEntryList);
    return map;
  }

  static List<GithubLanguage> getGithubLanguages() {
    List<GithubLanguage> list =
        githubLanguageColors.map((v) => GithubLanguage.fromJson(v)).toList();
    return list;
  }

  static List<GithubLanguage> getGithubSpokenLanguages() {
    List<GithubLanguage> list =
        githubSpokenLanguage.map((v) => GithubLanguage.fromJson(v)).toList();
    return list;
  }

  static String getGithubLanguageColor(String language,
      {String defColor = ''}) {
    return languageMap[language] ?? defColor;
  }
}

class GithubLanguage {
  String name;
  String? urlParam;
  String? color;

  GithubLanguage.fromJson(Map<String, dynamic> json)
      : name = json['name'],
        urlParam = json['urlParam'],
        color = json['color'];

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> map = <String, dynamic>{};
    void addIfNonNull(String fieldName, dynamic value) {
      if (value != null) {
        map[fieldName] = value;
      }
    }

    addIfNonNull('name', name);
    addIfNonNull('urlParam', urlParam);
    addIfNonNull('color', color);
    return map;
  }

  @override
  String toString() {
    return json.encode(this);
  }
}

const List githubLanguageColors = [
  {"name": "ABAP", "color": "#E8274B"},
  {"name": "ABNF"},
  {"name": "ActionScript", "color": "#882B0F"},
  {"name": "Ada", "color": "#02f88c"},
  {"name": "Adobe Font Metrics"},
  {"name": "Agda", "color": "#315665"},
  {"name": "AGS Script", "color": "#B9D9FF"},
  {"name": "Alloy", "color": "#64C800"},
  {"name": "Alpine Abuild"},
  {"name": "AMPL", "color": "#E6EFBB"},
  {"name": "AngelScript", "color": "#C7D7DC"},
  {"name": "Ant Build System"},
  {"name": "ANTLR", "color": "#9DC3FF"},
  {"name": "ApacheConf"},
  {"name": "Apex", "color": "#1797c0"},
  {"name": "API Blueprint", "color": "#2ACCA8"},
  {"name": "APL", "color": "#5A8164"},
  {"name": "Apollo Guidance Computer", "color": "#0B3D91"},
  {"name": "AppleScript", "color": "#101F1F"},
  {"name": "Arc", "color": "#aa2afe"},
  {"name": "AsciiDoc"},
  {"name": "ASN.1"},
  {"name": "ASP"},
  {"name": "AspectJ", "color": "#a957b0"},
  {"name": "Assembly", "color": "#6E4C13"},
  {"name": "ATS", "color": "#1ac620"},
  {"name": "Augeas"},
  {"name": "AutoHotkey", "color": "#6594b9"},
  {"name": "AutoIt", "color": "#1C3552"},
  {"name": "Awk"},
  {"name": "Ballerina", "color": "#FF5000"},
  {"name": "Batchfile", "color": "#C1F12E"},
  {"name": "Befunge"},
  {"name": "Bison", "color": "#6A463F"},
  {"name": "BitBake"},
  {"name": "Blade", "color": "#f7523f"},
  {"name": "BlitzBasic"},
  {"name": "BlitzMax", "color": "#cd6400"},
  {"name": "Bluespec"},
  {"name": "Boo", "color": "#d4bec1"},
  {"name": "Brainfuck", "color": "#2F2530"},
  {"name": "Brightscript"},
  {"name": "Bro"},
  {"name": "C", "color": "#555555"},
  {"name": "C#", "color": "#178600"},
  {"name": "C++", "color": "#f34b7d"},
  {"name": "C-ObjDump"},
  {"name": "C2hs Haskell"},
  {"name": "Cap'n Proto"},
  {"name": "CartoCSS"},
  {"name": "Ceylon", "color": "#dfa535"},
  {"name": "Chapel", "color": "#8dc63f"},
  {"name": "Charity"},
  {"name": "ChucK"},
  {"name": "Cirru", "color": "#ccccff"},
  {"name": "Clarion", "color": "#db901e"},
  {"name": "Clean", "color": "#3F85AF"},
  {"name": "Click", "color": "#E4E6F3"},
  {"name": "CLIPS"},
  {"name": "Clojure", "color": "#db5855"},
  {"name": "Closure Templates"},
  {"name": "CMake"},
  {"name": "COBOL"},
  {"name": "CoffeeScript", "color": "#244776"},
  {"name": "ColdFusion", "color": "#ed2cd6"},
  {"name": "ColdFusion CFC", "color": "#ed2cd6"},
  {"name": "COLLADA"},
  {"name": "Common Lisp", "color": "#3fb68b"},
  {"name": "Common Workflow Language", "color": "#B5314C"},
  {"name": "Component Pascal", "color": "#B0CE4E"},
  {"name": "Cool"},
  {"name": "Coq"},
  {"name": "Cpp-ObjDump"},
  {"name": "Creole"},
  {"name": "Crystal", "color": "#000100"},
  {"name": "CSON", "color": "#244776"},
  {"name": "Csound"},
  {"name": "Csound Document"},
  {"name": "Csound Score"},
  {"name": "CSS", "color": "#563d7c"},
  {"name": "CSV"},
  {"name": "Cuda", "color": "#3A4E3A"},
  {"name": "CWeb"},
  {"name": "Cycript"},
  {"name": "Cython"},
  {"name": "D", "color": "#ba595e"},
  {"name": "D-ObjDump"},
  {"name": "Darcs Patch"},
  {"name": "Dart", "color": "#00B4AB"},
  {"name": "DataWeave", "color": "#003a52"},
  {"name": "desktop"},
  {"name": "Diff"},
  {"name": "DIGITAL Command Language"},
  {"name": "DM", "color": "#447265"},
  {"name": "DNS Zone"},
  {"name": "Dockerfile", "color": "#384d54"},
  {"name": "Dogescript", "color": "#cca760"},
  {"name": "DTrace"},
  {"name": "Dylan", "color": "#6c616e"},
  {"name": "E", "color": "#ccce35"},
  {"name": "Eagle"},
  {"name": "Easybuild"},
  {"name": "EBNF"},
  {"name": "eC", "color": "#913960"},
  {"name": "Ecere Projects"},
  {"name": "ECL", "color": "#8a1267"},
  {"name": "ECLiPSe"},
  {"name": "Edje Data Collection"},
  {"name": "edn"},
  {"name": "Eiffel", "color": "#4d6977"},
  {"name": "EJS", "color": "#a91e50"},
  {"name": "Elixir", "color": "#6e4a7e"},
  {"name": "Elm", "color": "#60B5CC"},
  {"name": "Emacs Lisp", "color": "#c065db"},
  {"name": "EmberScript", "color": "#FFF4F3"},
  {"name": "EQ", "color": "#a78649"},
  {"name": "Erlang", "color": "#B83998"},
  {"name": "F#", "color": "#b845fc"},
  {"name": "Factor", "color": "#636746"},
  {"name": "Fancy", "color": "#7b9db4"},
  {"name": "Fantom", "color": "#14253c"},
  {"name": "Filebench WML"},
  {"name": "Filterscript"},
  {"name": "fish"},
  {"name": "FLUX", "color": "#88ccff"},
  {"name": "Formatted"},
  {"name": "Forth", "color": "#341708"},
  {"name": "Fortran", "color": "#4d41b1"},
  {"name": "FreeMarker", "color": "#0050b2"},
  {"name": "Frege", "color": "#00cafe"},
  {"name": "G-code", "color": "#D08CF2"},
  {"name": "Game Maker Language", "color": "#71b417"},
  {"name": "GAMS"},
  {"name": "GAP"},
  {"name": "GCC Machine Description"},
  {"name": "GDB"},
  {"name": "GDScript", "color": "#355570"},
  {"name": "Genie", "color": "#fb855d"},
  {"name": "Genshi"},
  {"name": "Gentoo Ebuild"},
  {"name": "Gentoo Eclass"},
  {"name": "Gerber Image"},
  {"name": "Gettext Catalog"},
  {"name": "Gherkin", "color": "#5B2063"},
  {"name": "GLSL"},
  {"name": "Glyph", "color": "#c1ac7f"},
  {"name": "GN"},
  {"name": "Gnuplot", "color": "#f0a9f0"},
  {"name": "Go", "color": "#00ADD8"},
  {"name": "Golo", "color": "#88562A"},
  {"name": "Gosu", "color": "#82937f"},
  {"name": "Grace"},
  {"name": "Gradle"},
  {"name": "Grammatical Framework", "color": "#ff0000"},
  {"name": "Graph Modeling Language"},
  {"name": "GraphQL", "color": "#e10098"},
  {"name": "Graphviz (DOT)"},
  {"name": "Groovy", "color": "#e69f56"},
  {"name": "Groovy Server Pages"},
  {"name": "Hack", "color": "#878787"},
  {"name": "Haml", "color": "#ece2a9"},
  {"name": "Handlebars", "color": "#f7931e"},
  {"name": "Harbour", "color": "#0e60e3"},
  {"name": "Haskell", "color": "#5e5086"},
  {"name": "Haxe", "color": "#df7900"},
  {"name": "HCL"},
  {"name": "HLSL"},
  {"name": "HTML", "color": "#e34c26"},
  {"name": "HTML+Django"},
  {"name": "HTML+ECR"},
  {"name": "HTML+EEX"},
  {"name": "HTML+ERB"},
  {"name": "HTML+PHP"},
  {"name": "HTTP"},
  {"name": "Hy", "color": "#7790B2"},
  {"name": "HyPhy"},
  {"name": "IDL", "color": "#a3522f"},
  {"name": "Idris", "color": "#b30000"},
  {"name": "IGOR Pro", "color": "#0000cc"},
  {"name": "Inform 7"},
  {"name": "INI"},
  {"name": "Inno Setup"},
  {"name": "Io", "color": "#a9188d"},
  {"name": "Ioke", "color": "#078193"},
  {"name": "IRC log"},
  {"name": "Isabelle", "color": "#FEFE00"},
  {"name": "Isabelle ROOT"},
  {"name": "J", "color": "#9EEDFF"},
  {"name": "Jasmin"},
  {"name": "Java", "color": "#b07219"},
  {"name": "Java Server Pages"},
  {"name": "JavaScript", "color": "#f1e05a"},
  {"name": "JFlex", "color": "#DBCA00"},
  {"name": "Jison"},
  {"name": "Jison Lex"},
  {"name": "Jolie", "color": "#843179"},
  {"name": "JSON"},
  {"name": "JSON5"},
  {"name": "JSONiq", "color": "#40d47e"},
  {"name": "JSONLD"},
  {"name": "JSX"},
  {"name": "Julia", "color": "#a270ba"},
  {"name": "Jupyter Notebook", "color": "#DA5B0B"},
  {"name": "KiCad Layout"},
  {"name": "KiCad Legacy Layout"},
  {"name": "KiCad Schematic"},
  {"name": "Kit"},
  {"name": "Kotlin", "color": "#F18E33"},
  {"name": "KRL", "color": "#28430A"},
  {"name": "LabVIEW"},
  {"name": "Lasso", "color": "#999999"},
  {"name": "Latte", "color": "#f2a542"},
  {"name": "Lean"},
  {"name": "Less", "color": "#1d365d"},
  {"name": "Lex", "color": "#DBCA00"},
  {"name": "LFE", "color": "#4C3023"},
  {"name": "LilyPond"},
  {"name": "Limbo"},
  {"name": "Linker Script"},
  {"name": "Linux Kernel Module"},
  {"name": "Liquid"},
  {"name": "Literate Agda"},
  {"name": "Literate CoffeeScript"},
  {"name": "Literate Haskell"},
  {"name": "LiveScript", "color": "#499886"},
  {"name": "LLVM", "color": "#185619"},
  {"name": "Logos"},
  {"name": "Logtalk"},
  {"name": "LOLCODE", "color": "#cc9900"},
  {"name": "LookML", "color": "#652B81"},
  {"name": "LoomScript"},
  {"name": "LSL", "color": "#3d9970"},
  {"name": "Lua", "color": "#000080"},
  {"name": "M"},
  {"name": "M4"},
  {"name": "M4Sugar"},
  {"name": "Makefile", "color": "#427819"},
  {"name": "Mako"},
  {"name": "Markdown", "color": "#083fa1"},
  {"name": "Marko", "color": "#42bff2"},
  {"name": "Mask", "color": "#f97732"},
  {"name": "Mathematica"},
  {"name": "Matlab"},
  {"name": "Maven POM"},
  {"name": "Max", "color": "#c4a79c"},
  {"name": "MAXScript", "color": "#00a6a6"},
  {"name": "MediaWiki"},
  {"name": "Mercury", "color": "#ff2b2b"},
  {"name": "Meson", "color": "#007800"},
  {"name": "Metal", "color": "#8f14e9"},
  {"name": "MiniD"},
  {"name": "Mirah", "color": "#c7a938"},
  {"name": "Modelica"},
  {"name": "Modula-2"},
  {"name": "Module Management System"},
  {"name": "Monkey"},
  {"name": "Moocode"},
  {"name": "MoonScript"},
  {"name": "MQL4", "color": "#62A8D6"},
  {"name": "MQL5", "color": "#4A76B8"},
  {"name": "MTML", "color": "#b7e1f4"},
  {"name": "MUF"},
  {"name": "mupad"},
  {"name": "Myghty"},
  {"name": "NCL", "color": "#28431f"},
  {"name": "Nearley", "color": "#990000"},
  {"name": "Nemerle", "color": "#3d3c6e"},
  {"name": "nesC", "color": "#94B0C7"},
  {"name": "NetLinx", "color": "#0aa0ff"},
  {"name": "NetLinx+ERB", "color": "#747faa"},
  {"name": "NetLogo", "color": "#ff6375"},
  {"name": "NewLisp", "color": "#87AED7"},
  {"name": "Nextflow", "color": "#3ac486"},
  {"name": "Nginx"},
  {"name": "Nim", "color": "#ffc200"},
  {"name": "Ninja"},
  {"name": "Nit", "color": "#009917"},
  {"name": "Nix", "color": "#7e7eff"},
  {"name": "NL"},
  {"name": "NSIS"},
  {"name": "Nu", "color": "#c9df40"},
  {"name": "NumPy", "color": "#9C8AF9"},
  {"name": "ObjDump"},
  {"name": "Objective-C", "color": "#438eff"},
  {"name": "Objective-C++", "color": "#6866fb"},
  {"name": "Objective-J", "color": "#ff0c5a"},
  {"name": "OCaml", "color": "#3be133"},
  {"name": "Omgrofl", "color": "#cabbff"},
  {"name": "ooc", "color": "#b0b77e"},
  {"name": "Opa"},
  {"name": "Opal", "color": "#f7ede0"},
  {"name": "OpenCL"},
  {"name": "OpenEdge ABL"},
  {"name": "OpenRC runscript"},
  {"name": "OpenSCAD"},
  {"name": "OpenType Feature File"},
  {"name": "Org"},
  {"name": "Ox"},
  {"name": "Oxygene", "color": "#cdd0e3"},
  {"name": "Oz", "color": "#fab738"},
  {"name": "P4", "color": "#7055b5"},
  {"name": "Pan", "color": "#cc0000"},
  {"name": "Papyrus", "color": "#6600cc"},
  {"name": "Parrot", "color": "#f3ca0a"},
  {"name": "Parrot Assembly"},
  {"name": "Parrot Internal Representation"},
  {"name": "Pascal", "color": "#E3F171"},
  {"name": "PAWN"},
  {"name": "Pep8", "color": "#C76F5B"},
  {"name": "Perl", "color": "#0298c3"},
  {"name": "Perl 6"},
  {"name": "PHP", "color": "#4F5D95"},
  {"name": "Pic"},
  {"name": "Pickle"},
  {"name": "PicoLisp"},
  {"name": "PigLatin", "color": "#fcd7de"},
  {"name": "Pike", "color": "#005390"},
  {"name": "PLpgSQL"},
  {"name": "PLSQL", "color": "#dad8d8"},
  {"name": "Pod"},
  {"name": "PogoScript", "color": "#d80074"},
  {"name": "Pony"},
  {"name": "PostCSS"},
  {"name": "PostScript", "color": "#da291c"},
  {"name": "POV-Ray SDL"},
  {"name": "PowerBuilder", "color": "#8f0f8d"},
  {"name": "PowerShell", "color": "#012456"},
  {"name": "Processing", "color": "#0096D8"},
  {"name": "Prolog", "color": "#74283c"},
  {"name": "Propeller Spin", "color": "#7fa2a7"},
  {"name": "Protocol Buffer"},
  {"name": "Public Key"},
  {"name": "Pug", "color": "#a86454"},
  {"name": "Puppet", "color": "#302B6D"},
  {"name": "Pure Data"},
  {"name": "PureBasic", "color": "#5a6986"},
  {"name": "PureScript", "color": "#1D222D"},
  {"name": "Python", "color": "#3572A5"},
  {"name": "Python console"},
  {"name": "Python traceback"},
  {"name": "QMake"},
  {"name": "QML", "color": "#44a51c"},
  {"name": "R", "color": "#198CE7"},
  {"name": "Racket", "color": "#3c5caa"},
  {"name": "Ragel", "color": "#9d5200"},
  {"name": "RAML", "color": "#77d9fb"},
  {"name": "Rascal", "color": "#fffaa0"},
  {"name": "Raw token data"},
  {"name": "RDoc"},
  {"name": "REALbasic"},
  {"name": "Reason", "color": "#ff5847"},
  {"name": "Rebol", "color": "#358a5b"},
  {"name": "Red", "color": "#f50000"},
  {"name": "Redcode"},
  {"name": "Regular Expression"},
  {"name": "Ren'Py", "color": "#ff7f7f"},
  {"name": "RenderScript"},
  {"name": "reStructuredText"},
  {"name": "REXX"},
  {"name": "RHTML"},
  {"name": "Ring", "color": "#2D54CB"},
  {"name": "RMarkdown"},
  {"name": "RobotFramework"},
  {"name": "Roff", "color": "#ecdebe"},
  {"name": "Rouge", "color": "#cc0088"},
  {"name": "RPC"},
  {"name": "RPM Spec"},
  {"name": "Ruby", "color": "#701516"},
  {"name": "RUNOFF", "color": "#665a4e"},
  {"name": "Rust", "color": "#dea584"},
  {"name": "Sage"},
  {"name": "SaltStack", "color": "#646464"},
  {"name": "SAS", "color": "#B34936"},
  {"name": "Sass", "color": "#a53b70"},
  {"name": "Scala", "color": "#c22d40"},
  {"name": "Scaml"},
  {"name": "Scheme", "color": "#1e4aec"},
  {"name": "Scilab"},
  {"name": "SCSS", "color": "#c6538c"},
  {"name": "sed", "color": "#64b970"},
  {"name": "Self", "color": "#0579aa"},
  {"name": "ShaderLab"},
  {"name": "Shell", "color": "#89e051"},
  {"name": "ShellSession"},
  {"name": "Shen", "color": "#120F14"},
  {"name": "Slash", "color": "#007eff"},
  {"name": "Slim", "color": "#2b2b2b"},
  {"name": "Smali"},
  {"name": "Smalltalk", "color": "#596706"},
  {"name": "Smarty"},
  {"name": "SMT"},
  {"name": "Solidity", "color": "#AA6746"},
  {"name": "SourcePawn", "color": "#f69e1d"},
  {"name": "SPARQL"},
  {"name": "Spline Font Database"},
  {"name": "SQF", "color": "#3F3F3F"},
  {"name": "SQL"},
  {"name": "SQLPL"},
  {"name": "Squirrel", "color": "#800000"},
  {"name": "SRecode Template", "color": "#348a34"},
  {"name": "Stan", "color": "#b2011d"},
  {"name": "Standard ML", "color": "#dc566d"},
  {"name": "Stata"},
  {"name": "STON"},
  {"name": "Stylus", "color": "#ff6347"},
  {"name": "Sublime Text Config"},
  {"name": "SubRip Text"},
  {"name": "SugarSS"},
  {"name": "SuperCollider", "color": "#46390b"},
  {"name": "SVG", "color": "#ff9900"},
  {"name": "Swift", "color": "#ffac45"},
  {"name": "SystemVerilog", "color": "#DAE1C2"},
  {"name": "Tcl", "color": "#e4cc98"},
  {"name": "Tcsh"},
  {"name": "Tea"},
  {"name": "Terra", "color": "#00004c"},
  {"name": "TeX", "color": "#3D6117"},
  {"name": "Text"},
  {"name": "Textile"},
  {"name": "Thrift"},
  {"name": "TI Program", "color": "#A0AA87"},
  {"name": "TLA"},
  {"name": "TOML"},
  {"name": "Turing", "color": "#cf142b"},
  {"name": "Turtle"},
  {"name": "Twig", "color": "#c1d026"},
  {"name": "TXL"},
  {"name": "Type Language"},
  {"name": "TypeScript", "color": "#2b7489"},
  {"name": "Unified Parallel C", "color": "#4e3617"},
  {"name": "Unity3D Asset"},
  {"name": "Unix Assembly"},
  {"name": "Uno", "color": "#9933cc"},
  {"name": "UnrealScript", "color": "#a54c4d"},
  {"name": "UrWeb"},
  {"name": "Vala", "color": "#fbe5cd"},
  {"name": "VCL", "color": "#148AA8"},
  {"name": "Verilog", "color": "#b2b7f8"},
  {"name": "VHDL", "color": "#adb2cb"},
  {"name": "Vim script", "color": "#199f4b"},
  {"name": "Visual Basic"},
  {"name": "Volt", "color": "#1F1F1F"},
  {"name": "Vue", "color": "#2c3e50"},
  {"name": "Wavefront Material"},
  {"name": "Wavefront Object"},
  {"name": "wdl", "color": "#42f1f4"},
  {"name": "Web Ontology Language"},
  {"name": "WebAssembly", "color": "#04133b"},
  {"name": "WebIDL"},
  {"name": "wisp", "color": "#7582D1"},
  {"name": "World of Warcraft Addon Data"},
  {"name": "X10", "color": "#4B6BEF"},
  {"name": "xBase", "color": "#403a40"},
  {"name": "XC", "color": "#99DA07"},
  {"name": "XCompose"},
  {"name": "XML"},
  {"name": "Xojo"},
  {"name": "XPages"},
  {"name": "XPM"},
  {"name": "XProc"},
  {"name": "XQuery", "color": "#5232e7"},
  {"name": "XS"},
  {"name": "XSLT", "color": "#EB8CEB"},
  {"name": "Xtend"},
  {"name": "Yacc", "color": "#4B6C4B"},
  {"name": "YAML", "color": "#cb171e"},
  {"name": "YANG"},
  {"name": "YARA", "color": "#220000"},
  {"name": "Zephir", "color": "#118f9e"},
  {"name": "Zimpl"},
  {"name": "1C Enterprise", "color": "#814CCC"}
];

const List githubSpokenLanguage = [
  {"urlParam": "ab", "name": "Abkhazian"},
  {"urlParam": "aa", "name": "Afar"},
  {"urlParam": "af", "name": "Afrikaans"},
  {"urlParam": "ak", "name": "Akan"},
  {"urlParam": "sq", "name": "Albanian"},
  {"urlParam": "am", "name": "Amharic"},
  {"urlParam": "ar", "name": "Arabic"},
  {"urlParam": "an", "name": "Aragonese"},
  {"urlParam": "hy", "name": "Armenian"},
  {"urlParam": "as", "name": "Assamese"},
  {"urlParam": "av", "name": "Avaric"},
  {"urlParam": "ae", "name": "Avestan"},
  {"urlParam": "ay", "name": "Aymara"},
  {"urlParam": "az", "name": "Azerbaijani"},
  {"urlParam": "bm", "name": "Bambara"},
  {"urlParam": "ba", "name": "Bashkir"},
  {"urlParam": "eu", "name": "Basque"},
  {"urlParam": "be", "name": "Belarusian"},
  {"urlParam": "bn", "name": "Bengali"},
  {"urlParam": "bh", "name": "Bihari languages"},
  {"urlParam": "bi", "name": "Bislama"},
  {"urlParam": "bs", "name": "Bosnian"},
  {"urlParam": "br", "name": "Breton"},
  {"urlParam": "bg", "name": "Bulgarian"},
  {"urlParam": "my", "name": "Burmese"},
  {"urlParam": "ca", "name": "Catalan, Valencian"},
  {"urlParam": "ch", "name": "Chamorro"},
  {"urlParam": "ce", "name": "Chechen"},
  {"urlParam": "ny", "name": "Chichewa, Chewa, Nyanja"},
  {"urlParam": "zh", "name": "Chinese"},
  {"urlParam": "cv", "name": "Chuvash"},
  {"urlParam": "kw", "name": "Cornish"},
  {"urlParam": "co", "name": "Corsican"},
  {"urlParam": "cr", "name": "Cree"},
  {"urlParam": "hr", "name": "Croatian"},
  {"urlParam": "cs", "name": "Czech"},
  {"urlParam": "da", "name": "Danish"},
  {"urlParam": "dv", "name": "Divehi, Dhivehi, Maldivian"},
  {"urlParam": "nl", "name": "Dutch, Flemish"},
  {"urlParam": "dz", "name": "Dzongkha"},
  {"urlParam": "en", "name": "English"},
  {"urlParam": "eo", "name": "Esperanto"},
  {"urlParam": "et", "name": "Estonian"},
  {"urlParam": "ee", "name": "Ewe"},
  {"urlParam": "fo", "name": "Faroese"},
  {"urlParam": "fj", "name": "Fijian"},
  {"urlParam": "fi", "name": "Finnish"},
  {"urlParam": "fr", "name": "French"},
  {"urlParam": "ff", "name": "Fulah"},
  {"urlParam": "gl", "name": "Galician"},
  {"urlParam": "ka", "name": "Georgian"},
  {"urlParam": "de", "name": "German"},
  {"urlParam": "el", "name": "Greek, Modern"},
  {"urlParam": "gn", "name": "Guarani"},
  {"urlParam": "gu", "name": "Gujarati"},
  {"urlParam": "ht", "name": "Haitian, Haitian Creole"},
  {"urlParam": "ha", "name": "Hausa"},
  {"urlParam": "he", "name": "Hebrew"},
  {"urlParam": "hz", "name": "Herero"},
  {"urlParam": "hi", "name": "Hindi"},
  {"urlParam": "ho", "name": "Hiri Motu"},
  {"urlParam": "hu", "name": "Hungarian"},
  {"urlParam": "ia", "name": "Interlingua (International Auxil..."},
  {"urlParam": "id", "name": "Indonesian"},
  {"urlParam": "ie", "name": "Interlingue, Occidental"},
  {"urlParam": "ga", "name": "Irish"},
  {"urlParam": "ig", "name": "Igbo"},
  {"urlParam": "ik", "name": "Inupiaq"},
  {"urlParam": "io", "name": "Ido"},
  {"urlParam": "is", "name": "Icelandic"},
  {"urlParam": "it", "name": "Italian"},
  {"urlParam": "iu", "name": "Inuktitut"},
  {"urlParam": "ja", "name": "Japanese"},
  {"urlParam": "jv", "name": "Javanese"},
  {"urlParam": "kl", "name": "Kalaallisut, Greenlandic"},
  {"urlParam": "kn", "name": "Kannada"},
  {"urlParam": "kr", "name": "Kanuri"},
  {"urlParam": "ks", "name": "Kashmiri"},
  {"urlParam": "kk", "name": "Kazakh"},
  {"urlParam": "km", "name": "Central Khmer"},
  {"urlParam": "ki", "name": "Kikuyu, Gikuyu"},
  {"urlParam": "rw", "name": "Kinyarwanda"},
  {"urlParam": "ky", "name": "Kirghiz, Kyrgyz"},
  {"urlParam": "kv", "name": "Komi"},
  {"urlParam": "kg", "name": "Kongo"},
  {"urlParam": "ko", "name": "Korean"},
  {"urlParam": "ku", "name": "Kurdish"},
  {"urlParam": "kj", "name": "Kuanyama, Kwanyama"},
  {"urlParam": "la", "name": "Latin"},
  {"urlParam": "lb", "name": "Luxembourgish, Letzeburgesch"},
  {"urlParam": "lg", "name": "Ganda"},
  {"urlParam": "li", "name": "Limburgan, Limburger, Limburgish"},
  {"urlParam": "ln", "name": "Lingala"},
  {"urlParam": "lo", "name": "Lao"},
  {"urlParam": "lt", "name": "Lithuanian"},
  {"urlParam": "lu", "name": "Luba-Katanga"},
  {"urlParam": "lv", "name": "Latvian"},
  {"urlParam": "gv", "name": "Manx"},
  {"urlParam": "mk", "name": "Macedonian"},
  {"urlParam": "mg", "name": "Malagasy"},
  {"urlParam": "ms", "name": "Malay"},
  {"urlParam": "ml", "name": "Malayalam"},
  {"urlParam": "mt", "name": "Maltese"},
  {"urlParam": "mi", "name": "Maori"},
  {"urlParam": "mr", "name": "Marathi"},
  {"urlParam": "mh", "name": "Marshallese"},
  {"urlParam": "mn", "name": "Mongolian"},
  {"urlParam": "na", "name": "Nauru"},
  {"urlParam": "nv", "name": "Navajo, Navaho"},
  {"urlParam": "nd", "name": "North Ndebele"},
  {"urlParam": "ne", "name": "Nepali"},
  {"urlParam": "ng", "name": "Ndonga"},
  {"urlParam": "nb", "name": "Norwegian Bokmål"},
  {"urlParam": "nn", "name": "Norwegian Nynorsk"},
  {"urlParam": "no", "name": "Norwegian"},
  {"urlParam": "ii", "name": "Sichuan Yi, Nuosu"},
  {"urlParam": "nr", "name": "South Ndebele"},
  {"urlParam": "oc", "name": "Occitan"},
  {"urlParam": "oj", "name": "Ojibwa"},
  {"urlParam": "cu", "name": "Church Slavic, Old Slavonic, Chu..."},
  {"urlParam": "om", "name": "Oromo"},
  {"urlParam": "or", "name": "Oriya"},
  {"urlParam": "os", "name": "Ossetian, Ossetic"},
  {"urlParam": "pa", "name": "Punjabi, Panjabi"},
  {"urlParam": "pi", "name": "Pali"},
  {"urlParam": "fa", "name": "Persian"},
  {"urlParam": "pl", "name": "Polish"},
  {"urlParam": "ps", "name": "Pashto, Pushto"},
  {"urlParam": "pt", "name": "Portuguese"},
  {"urlParam": "qu", "name": "Quechua"},
  {"urlParam": "rm", "name": "Romansh"},
  {"urlParam": "rn", "name": "Rundi"},
  {"urlParam": "ro", "name": "Romanian, Moldavian, Moldovan"},
  {"urlParam": "ru", "name": "Russian"},
  {"urlParam": "sa", "name": "Sanskrit"},
  {"urlParam": "sc", "name": "Sardinian"},
  {"urlParam": "sd", "name": "Sindhi"},
  {"urlParam": "se", "name": "Northern Sami"},
  {"urlParam": "sm", "name": "Samoan"},
  {"urlParam": "sg", "name": "Sango"},
  {"urlParam": "sr", "name": "Serbian"},
  {"urlParam": "gd", "name": "Gaelic, Scottish Gaelic"},
  {"urlParam": "sn", "name": "Shona"},
  {"urlParam": "si", "name": "Sinhala, Sinhalese"},
  {"urlParam": "sk", "name": "Slovak"},
  {"urlParam": "sl", "name": "Slovenian"},
  {"urlParam": "so", "name": "Somali"},
  {"urlParam": "st", "name": "Southern Sotho"},
  {"urlParam": "es", "name": "Spanish, Castilian"},
  {"urlParam": "su", "name": "Sundanese"},
  {"urlParam": "sw", "name": "Swahili"},
  {"urlParam": "ss", "name": "Swati"},
  {"urlParam": "sv", "name": "Swedish"},
  {"urlParam": "ta", "name": "Tamil"},
  {"urlParam": "te", "name": "Telugu"},
  {"urlParam": "tg", "name": "Tajik"},
  {"urlParam": "th", "name": "Thai"},
  {"urlParam": "ti", "name": "Tigrinya"},
  {"urlParam": "bo", "name": "Tibetan"},
  {"urlParam": "tk", "name": "Turkmen"},
  {"urlParam": "tl", "name": "Tagalog"},
  {"urlParam": "tn", "name": "Tswana"},
  {"urlParam": "to", "name": "Tonga (Tonga Islands)"},
  {"urlParam": "tr", "name": "Turkish"},
  {"urlParam": "ts", "name": "Tsonga"},
  {"urlParam": "tt", "name": "Tatar"},
  {"urlParam": "tw", "name": "Twi"},
  {"urlParam": "ty", "name": "Tahitian"},
  {"urlParam": "ug", "name": "Uighur, Uyghur"},
  {"urlParam": "uk", "name": "Ukrainian"},
  {"urlParam": "ur", "name": "Urdu"},
  {"urlParam": "uz", "name": "Uzbek"},
  {"urlParam": "ve", "name": "Venda"},
  {"urlParam": "vi", "name": "Vietnamese"},
  {"urlParam": "vo", "name": "Volapük"},
  {"urlParam": "wa", "name": "Walloon"},
  {"urlParam": "cy", "name": "Welsh"},
  {"urlParam": "wo", "name": "Wolof"},
  {"urlParam": "fy", "name": "Western Frisian"},
  {"urlParam": "xh", "name": "Xhosa"},
  {"urlParam": "yi", "name": "Yiddish"},
  {"urlParam": "yo", "name": "Yoruba"},
  {"urlParam": "za", "name": "Zhuang, Chuang"},
  {"urlParam": "zu", "name": "Zulu"}
];
